package com.ruoyi.trade.mapper;

import com.ruoyi.trade.domain.CostGrid;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 成本网格Mapper接口
 * 
 * @author ruoyi
 * @date 2025-09-03
 */
@Mapper
public interface CostGridMapper 
{
    /**
     * 查询成本网格
     * 
     * @param id 成本网格主键
     * @return 成本网格
     */
    public CostGrid selectCostGridById(Long id);

    /**
     * 查询成本网格列表
     * 
     * @param costGrid 成本网格
     * @return 成本网格集合
     */
    public List<CostGrid> selectCostGridList(CostGrid costGrid);

    /**
     * 查询未参与计算的成本网格列表
     * 
     * @param costGrid 成本网格
     * @return 成本网格集合
     */
    public List<CostGrid> selectUnCalculatedCostGridList(CostGrid costGrid);

    /**
     * 新增成本网格
     * 
     * @param costGrid 成本网格
     * @return 结果
     */
    public int insertCostGrid(CostGrid costGrid);

    /**
     * 修改成本网格
     * 
     * @param costGrid 成本网格
     * @return 结果
     */
    public int updateCostGrid(CostGrid costGrid);

    /**
     * 批量更新成本网格计算标识
     * 
     * @param ids 需要更新的数据主键集合
     * @return 结果
     */
    public int updateCostGridCalculateFlagByIds(@Param("ids") Long[] ids);

    /**
     * 删除成本网格
     * 
     * @param id 成本网格主键
     * @return 结果
     */
    public int deleteCostGridById(Long id);

    /**
     * 批量删除成本网格
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCostGridByIds(Long[] ids);
}